module.exports = {
  up: async (queryInterface, Sequelize) => {
    /**
     * Add altering commands here.
     *
     * Example:
     * await queryInterface.createTable('users', { id: Sequelize.INTEGER });
     */
    const { INTEGER, DATE, STRING, TEXT } = Sequelize;

    await queryInterface.createTable('patent', {
      id: { type: INTEGER, primaryKey: true, autoIncrement: true },
      uuid: { type: STRING(36), unique: true },
      name: STRING(50), // 名称
      description: TEXT, // 成果介绍
      conversionMethod: STRING, // '转化方式（可选：产权买断）
      type: STRING, // 专利类型（可选：发明、实用新型、外观设计 ）
      conversionType: STRING, // 转化状态（可选：待转化/已转化）'
      technicalAdvantages: TEXT, // 技术优势
      updateTime: DATE, // 更新日期
      applicationNumber: STRING, // 申请专利号
      publicNumber: STRING, // 公开（公告）号
      applicationTime: DATE, // 申请日
      applicationOrganization: STRING, // 申请人（string类型，每个公司中间用;分割）
      talentsString: STRING, // 人才库外的人才（string类型，每个人才中间用;分割）
      legalStatus: STRING, // 法律状态（可选：公开/授权...）
      address: STRING(255), // 专利地址（用户输入）
      fk_applicationArea: {
        type: STRING(36),
        references: {
          model: {
            tableName: 'application_area',
          },
          key: 'uuid',
        },
      }, // 应用领域
      filler: {
        type: STRING(36),
      }, // 填写人
      createdAt: DATE,
      updatedAt: DATE,
    });
  },

  down: async queryInterface => {
    /**
     * Add reverting commands here.
     *
     * Example:
     * await queryInterface.dropTable('users');
     */
    await queryInterface.dropTable('patent');
  },
};
